namespace GamFi.Admin.API.Application.Contracts.Country.UpdateCountry;

/// <summary>
/// Запрос на обновление информации о стране
/// </summary>
public class UpdateCountryRequest
{
    /// <summary>
    /// Идентификатор обновляемой страны
    /// </summary>
    public Guid CountryId { get; set; }

    /// <summary>
    /// Название страны
    /// </summary>
    public string Name { get; set; } = default!;

    /// <summary>
    /// Код страны
    /// </summary>
    public int Code { get; set; }

    /// <summary>
    /// 2х-буквенный код
    /// </summary>
    public string AlphaTwo { get; set; } = default!;

    /// <summary>
    /// 3х-буквенный код
    /// </summary>
    public string AlphaThree { get; set; } = default!;

    /// <summary>
    /// Пустой конструктор
    /// </summary>
    public UpdateCountryRequest()
    {
    }

    /// <summary>
    /// Конструктор для создания запроса на обновление страны
    /// </summary>
    /// <param name="request">Объект запроса на обновление страны</param>
    public UpdateCountryRequest(UpdateCountryRequest request)
    {
        CountryId = request.CountryId;
        Name = request.Name;
        Code = request.Code;
        AlphaTwo = request.AlphaTwo;
        AlphaThree = request.AlphaThree;
    }
}